#ifndef FRAMEWORK_H
#define FRAMEWORK_H

#include <QWidget>
#include "baseframework.h"
#include <QStackedLayout>
#include "usermanager.h"

QT_BEGIN_NAMESPACE
namespace Ui { class FrameWork; }
QT_END_NAMESPACE

class FrameWork : public BaseFrameWork
{
    Q_OBJECT

public:
    explicit FrameWork(QWidget *parent = nullptr);
    ~FrameWork();

    void areaMovable(const QRect);

private:
    void initUIComponents();
    void setupConnections();

    Ui::FrameWork *ui;
    UserManager *m_pUserManager;

    // UI组件
    Titlebar *m_pTitleBar;
    Statusbar *m_pStatusBar;
    Uart *m_pUart;
    LoginWidget *m_pLoginWidget;
    RegisterWidget *m_pRegisterWidget;
    GetBackPasswordWidget *m_pGetBackPasswordWidget;
    MainSystemWidget *m_pMainSystemWidget;

    QStackedLayout *m_pStackedLayout;
};

#endif // FRAMEWORK_H
